23

» WarCraft 3 / Получить кликнувшего игрока

Похожие вопросы:

ответ
XGM Bot:
Похожие вопросы:

ответ
Перебором каждого игрока и проверкой, что у него щас выделен этот юнит
Или использовать EVENT_PLAYER_UNIT_SELECTED , тогда будет TriggerPlayer


23

» WarCraft 3 / Получить кликнувшего игрока

Похожие вопросы:

ответ
XGM Bot:
Похожие вопросы:

ответ
Перебором каждого игрока и проверкой, что у него щас выделен этот юнит
Или использовать EVENT_PLAYER_UNIT_SELECTED , тогда будет TriggerPlayer


23

» WarCraft 3 / Глючит карта

Похожие вопросы:

ответ
Filius Dei, создаешь способность, которой ты будешь ставить метки. Даешь ей бафф без каких-либо эффектов.
Потом при касте своей способности которая меняет владельца просто проверяешь у цели наличие твоего баффа.
ответ
Death-time это время разложения и анимы смерти, после его истечения юнита уже нету на карте, но труп может быть и хендл пока висит.
Все неразлагающиеся (вспомни летунов) умирают сразу не оставляя трупов и удаляются после death time.
Так же суммоны, всякие варды. Можно добавить баф призыва волков, тогда юниты удалятся сразу после смерти.
ответ
Вот, правильно импортировал. Сама модель крайне странная, потому что War 3 ME не хочет ее открывать (увидел, что собой представляет только в War 3 Viewer'e).
ответ
Опытным путем, спустя второй день нервов, нашел выход. Я снова импортировал текст в карту, и она перестала крашиться. Почему отсутствие текста влияло на неё, не знаю.

23

» WarCraft 3 / Расстояние до цели

Похожие вопросы:

ответ
Ну ты нашёл. Возрадуйся. CAMERA_FIELD_FIELD_OF_VIEW это вроде.
ответ
Extremator, уже предлагали
darkowlom, всеравно нужна бд на все возможные эффекты
короче все возможные ответы даны
тему закрываю
если кто то придумает чтото новое пишите автору в пм

23

» WarCraft 3 / Урон по линии

Похожие вопросы:

ответ
Идеальный вариант чтобы игрок сам мог решать, нужно ли ему это. Сделай, если будет смотреться неплохо. И каким то образом запилить возможность выключения этой фичи.

23

» WarCraft 3 / Что делать?

Похожие вопросы:

ответ
XGM Bot:
Похожие вопросы:

ответ
  1. Если юзал JNGP, залезь в папку backups - мб там остались работоспособные недавние копии
  2. Попробуй MPQ Editor, мб удастся что-то вытащить, чтобы не совсем с нуля начинать, если карта таки сломалась
  3. Вообще если карта долго грузится, это не факт, что она не загрузится вообще (хотя, судя по описанию ситуации, вряд ли это твой случай)
ответ
nvc123, да, и я это уже понял
ответ
Наверно заставляет героя (whichHero) прокачать скилл (abilcode) по его рав-коду (например 'A000').
Не?
ответ
да я решыл проблему я просто перегрузил комп
Я понел в чом проблема я поставил в vjass 2 галки нижние включил из надо отключать и тогды проблем не будет

ответ
Закинуть Fonts в папку с игрой - должно помочь (требует включенного параметра на подгрузку локальных файлов).
ответ
Я бы предложил для начала попробовать себя в программировании, прежде чем использовать Jass. А так можно использовать GUI и переводить на Jass. На форуме даже была статья по оптимизации при переводе GUI –> Jass (да и просто оптимизации Jass и углубление в скриптование Warcraft 3). Лично мне это быстро помогло перейти на Jass за несколько дней.
Возможно, главным вопросом будет по типу: "А вы вообще понимаете, что вы делаете на том же GUI?"

23

» WarCraft 3 / Поднятие юнита в воздух.

Похожие вопросы:

ответ
Вариант по индексу не хотелось бы, ввиду использования для разных моделей.
Придётся. Walk не играется триггерно при нормальных условиях.
Впрочем можно заставить проигрывать walk поставив юниту скорость движения 0 в редакторе объектов.

23

» WarCraft 3 / Воскрешение

Похожие вопросы:

ответ
~8gabriel8:
Очень просто)

События:
Юнит Умирает
Условия:
(Diying unit) равно Герой
Owner of (Diying unit) не равно Нейтрально-враждебный
Действия:
Wait 10 секунд
Воскресить (Diying unit)

В этом триггере (Diying unit) не будет меняться с каждой новой смертью, она как локалка.
ответ
Всё просто, только зачем такие сложности?
ответ
Cardinal, за такое именование переменных нужно по рукам бить.
то бежит к третьему триггеру которій и воскрешает
Не плодите триггеров, все нужные действия можно и в цикле сделать.
У вас переменная T отвечает за состояние героя, зачем проверять жив юнит или нет?
T<0 Жив
T==0 Нужно воскресить прям сейчас
T>0 Ждёт воскрешения
Cardinal:
T[номер героя] болше или равна 1
больше или равна 0 => T[] = T[] -1
ответ
Steal nerves:
смотри в кампании Рексара, в разделе триггеры, как там сделано.
По-моему ничего сложного нет:
  1. ловим , что герой около камня. Попробуй расположить около камней ректы, и с помощью события ловить их. Конечно можно еще ловить таймером, проверяя каждую сек дистанцию между камнями и героем, или событием радиуса между ними. При заходе в эту область проигрываем анимацию свечения одного камня (узнай в модельке что за анимация), и выключаем свечение другого камня. Запоминаем для этого героя место спавна. Не знаю, если мульти делать, можно ли через getlocalplayer анимацию задавать. Если можно, то модель камня проще переделать, там разные цвета
  2. При смерти героя таймером ждем, и спавним у этого места, проигрывая анимацию воскрешения у камня.
Поищи на форуме
xgm.guru/p/wc3/bpe <= посмотри нету ли тут
тебе скинуть карты кампании с разбором? или сам? щас смотрю, они там действительно через ректы

23

» WarCraft 3 / Reforged на LUA

Похожие вопросы:

ответ
Но как переписать код на луа как можно быстрее?
Можно достать из карты war3map.j и сконвертировать в lua. После доработки напильником вполне работоспособно))

23

» WarCraft 3 / Требование расы

Похожие вопросы:

ответ
Действие "Enforce victory/defeat comnditions" следует включить после того, как выберут расу, чтобы не выскакивало в начале.

23

» WarCraft 3 / Волны атак

Похожие вопросы:

ответ
1.интерфейс/монстры-возвращение охраны ставь на 10000
2.удаляешь игрока 12 чтобы в игре он незначился а монстров создаёшь для него уже в игре у них недолжна быть прикреплена точка ожидания
3.их надо заставлять переодически двигаться либо всех разом в пределе 5 сек,либо переберая поочерёдно в 0,1сек а если их очень много то 0,05сек
4.то что ты описываешь бывает при очень большом количестве мобов,вариант сделать норм систему где мобы не наваливались волнами на предыдущих адержались определённого кол на карте
ответ
Мб "Дистанция получения приказа" в редакторе объектов поставить на 99999, и дать игроку-компу чьи мобы видимость на всю карту.
ответ
~8gabriel8:
Почитай про утечки точек, как их создавать и удалять. Не знаю, как в твоём новом патче, но в 1.26 приказ отдаётся максимум 12 юнитам, у тебя может быть также, потому лучше отдавать приказ сразу после создания.
Предлагаю улучшить так:
  • Создать переменные для двух точек;
  • В триггере инициализации указать точкам значение центра областей 016 и 025;
  • Сделать периодический триггер с условием, что Король Мёртвых жив, а в действиях создание групп юнитов в одной точке, а сразу после создания приказ (Last Created Group) Перейти, нападая на противников, в другую точку;
  • По идее ещё бы отключить триггер за ненадобностью после смерти Короля Мёртвых, раз уж много таких триггеров, но всё равно изменение нагрузки будет незаметным, поэтому можно не отключать.
P. S. Утечка точки весит 0.361 кб, даже если не удалять утечки в этом триггере, то за 30 минут это будет 0.361х4х30=43.32 кб, что вполне приемлимо.
ответ
используй хэш таблицу/параллельные массивы/структуры
для каждой волны записывай равкоды юнитов и количество юнитов
при запуске волны считывай равкоды и количество и создавай юнитов на основе этих данных
когда все созданные юниты умерли запускай таймер на 30 секунд по истечению которого начинается следующая волна
разобраться с хэш таблицей/параллельными массивами/структурами и таймерами помогут статьи

23

» WarCraft 3 / Описание предметов

Похожие вопросы:

ответ
Для большого описания нужно заменять кириллические буквы на аналогичные английские. о на o и т.д.
Кириллица в варике занимает места побольше.
ответ
|n - переход на новую строку
Ctrl + Enter - тоже переход
ответ
теги форматирования юзай, |n - с новой строки к примеру, подробнее смотри описание абилок и оттуда копипасти нужные теги.

23

» WarCraft 3 / Color

Похожие вопросы:

ответ
Аргументы функций не обязательно обнулять
Steal nerves:
нет, не нужно. это аргументы (это тоже локалки), говорят, что обнуляется само по завершению функции. А то что объявляем через local надо обнулять. строки вообще не обязательно обнулять (хоть не шарю в этом программировании, но обнулять не нужно). Уже многие пишут не надо строки обнулять, и аргументы. Можешь поискать.
Нужно обнулять только те локалки, которые указывают на игровой обьект.
ответ
Это раздел для вопросов по WC3, а не Photoshop. Ищите в Интернете "Как сделать альфа-канал в Photoshop".
Также есть статья для создания текстуры с тимколором.
ответ
~8gabriel8:
Есть в категории Игрок действие на смену цвета. Делаешь события, что игрок вводит в чат -color для всех игроков, куда добавляешь это действие.

23

» Администрация XGM / Ошибка

Похожие вопросы:

ответ
Это не баг, а фича для репостнутых ресурсов
ответ
ну наверное денег мало, нужно больше денег! Запихивай купюры себе в CD/DVD привод, затем поставь драйвер и закачай их нам на сайт.
ответ
Исправлено
ответ
Исправлено
ответ
Ошиблись категорией вопрос, выбрать нужно Warcraft

23

» WarCraft 3 / Интерфейс 1.31+

Похожие вопросы:

ответ
А при попытке протестировать карту вот так:
Зайди в настройки редактора и сотри путь к тестовой карте.
NazarPunk:
Не только у вас такая проблема. Пока не вычислили из-за чего возникает.
Проблема в пути к тестовой карте, у 1.26 и 1.31.1 он отличается.
ответ
Сам задал, сам ответил.
call BlzFrameSetParent выручает ситуацию, т.е. устанавливаешь предка, который не скрыт(любой созданный через blzCreateFrame, и к нему вешаешь.
ответ
~8gabriel8:
На 1.31 не знаю, на 1.26 достаточно файлы в mpq заменить, либо новый архив создать с ними. Скоро Reforged выйдет, станет не до этих модификаций.

23

» WarCraft 3 / Триггер не отдает приказ всем юнитам

Похожие вопросы:

ответ
Проще добавить всех нужных юнитов в отряд и отдать приказ передвигаться в нужную точку (ссылаясь на отряд).
Добавить можно через выбор юнитов каким-либо способом.
Например все юниты в нужной области, с условием что они принадлежат игроку 7, и живые

23

» WarCraft 3 / Не могу открыть карту в обычном редакторе.

Похожие вопросы:

ответ
советую переименовать модель\заребутить комп
текстуры стандартные юзал, я так понимаю
ответ
Оба файла удаляются, потому что ты импортируешь их в карту через программу и не добавляешь данные о файлах в файл импорта(war3map.imp). При сохранении карты в редакторе архив пересобирается, и в него добавляются сторонние файлы, которые сохранены в том самом файле импорта. Поэтому используй стандартный менеджер импорта в редакторе.

23

» Администрация XGM / Карта сайта

Похожие вопросы:

ответ
Mrachny, на сайт, а не в вар...
раскрыть
А теперь смотри вниз этой картинки...
Кнопка "Добавить ресурс"
ответ
Neymar Rapsody, ты пока что сделай то что можно и в блоге сделать
скриншоты нормальные залей
ответ
Мы временно отказались от сторонних хостингов в txt2. Позднее уведомим о подключении новых. Старые хостинги поддерживаться, скорее всего, не будут из-за отсутствия поддержки https. Возможно, подключим dg-pic, но для этого требуются действия со стороны разработчика хостинга. Обратитесь к Doc за подробностями.
Помните, что в вышеуказанной справке изначально сообщалось, что использование таких хостингов не рекомендуется, а в страницах проектов вообще под запретом.

23

» WarCraft 3 / Добавление типа юнита в юнит групп.

Похожие вопросы:

ответ
глобальный массив не нужен. сохраняй группу в хэш-таблицу на хэндл героя, потом загружай ее когда надо. у каждого героя будет своя группа
вот пример, молот бурь съедает юнита а удар грома ставит всех юнитов обратно
ответ
Вы хотя бы BJ разворачивали.
local unit q                       			  //Юнит, который добавляется в группу
local unit w = GetTriggerUnit()      //Юнит, который триггерит триггер
local group g = CreateGroup()                      			  //Группа, в которую все юниты входят
local integer j = GetHandleId(w)    //Узнаём ID юнита, который триггерит триггер

set q = CreateUnit(GetOwningPlayer(w), 'h00C', GetUnitX(w), GetUnitY(w), bj_UNIT_FACING)
GroupAddUnit(g, q)

// дальше сами...

23

» WarCraft 3 / Общее здание

Похожие вопросы:

ответ
решил проблему костылём - дал возможность рабочему строить только башню - шаблонку, которая в свою очередь может улучшаться в две указанные башни. Взаимосвязь поставить только от башни - шаблонки. Лимит поставил на башню шаблонки.
Но тема не закрыта. Хотелось бы узнать можно ли решить проблему без костылей.
ответ
Триггерно прописать. Юнит умирает. Условие: убивающий юнит равно герой и равно игрок12. Умирающий юнит равно здание. Действие дать золото.
ответ
Steal nerves:
AgaraSatan, так и думал.
там нужно не тип "исследуемый юнит", там другая переменная "переключаемый юнит (англ. triggering unit)". Исследуемый юнит - работает при событии юнит изучает/исследует. у тебя условие просто не прокатывает. делай дебаги

23

» WarCraft 3 / Анимация юнита

Принятый ответ
Похожие вопросы:

ответ
Suite, вот только придётся каждый раз вручную юзать этот спелл
SсRealm, ты вопрос прочти прежде чем писать всякий бред
нормальным способом момент добычи отловить нельзя
недавно кидали костыль позволяющий отловить удар по дереву но он тут не особо поможет
ибо анимации будут перебивать друг друга
в общем как и сказал Suite меняй это в самой модели
ответ
Переименуй анимацию в модели в например Stand Alternate и 1) и добавляй соответствующий тег или 2) проигрывай анимацию по индексу.
ответ
странно, но в любом случае, я снова дал не ту, эта именно обновляет скин - мороз, оживление, вот это всё пересчитывает. Вот функция смены модели:

function ChangeUnitModelTo takes unit u, string modelpath returns nothing
	local integer a
	local integer s
	set LastConvertedHandle=ConvertHandle(u)
	if LastConvertedHandle>0 then
		set a=RMem(LastConvertedHandle)+0x88
		if a>0 then
			set a=RMem(a)
			if a>0 then
				set s=GetStringAddress(modelpath)
				call CallThisCallWith3Args(a,LastConvertedHandle,s,1)
			endif
		endif
	endif
endfunction
ответ
Короткий ответ, нет. Такой функции не предусмотрено.
В своих роликах я решил это так. Начинаю проигрывать анимацию по индексу на максимальной скорости. С помощью таймера через отрезок времени продолжаю проигрывать анимацию уже на нормальной скорости. Зная анимацию можно посчитать сколько времени нужно указать таймеру чтобы анимация достигла нужного места. Таким образом игроку будет казаться что анимация проигрывается с какого-то места.
Другой способ это изменить модель. Создать новую анимацию и скопировать или переиспользовать кадры.

23

» WarCraft 3 / Карта в ворлде не открывается

Похожие вопросы:

ответ
Это твой антивирусник украл, в карантин
Но да, мне тоже кажется, что это тупо реклама своей карты
С компа ничего не может пропасть просто так. Либо антивирус удалил, либо какой-то вирус перенес её в самую задницу твоих файлов на компе. Если бы карта была удалена, то она бы оказалась в корзине, если конечно она у тебя не весит 3-4 гига, чтобы удалить безвозвратно.
А так, обычно антивирусник уносит в карантин и там их держит

23

» Администрация XGM / Реклама

Похожие вопросы:

ответ
Ссылки на radikal запрещены. ipicture тоже загибается, так что используйте наш хостинг или imageshack
ответ
Спасибо за предложение, уберём.
ответ
Почему бы не добавить поддержку картинок с imgur.com? Есть вообще такая возможность?
Нет, и не будет
ответ
Скорее всего бага в хроме... лично такой проблемы не наблюдаю. Да яндекс засылает разные запросы, для отслеживания длительности сессии. Это нам помогает для планирования нового UX. Попробуй сбросить кеш.
ответ
Должно быть